function  [daux,maximo,minimo,ganancias,MAGS]=evalua(Het,configuracion,w)
    if length(configuracion)>5
        indicedefidelidad=1.1;
    else
        indicedefidelidad=1.02;
    end
    etapas=length(configuracion);
    ganancias=ones(etapas);
    ganancias=ganancias(1,:);
    daux=inf;
    
    for k=1:length(configuracion)
       [MAG]=bode(Het(k),w);
       MAG=squeeze(MAG);
       MAGS(k,:)=MAG;
    end

    
    for k=1:etapas
        
        for l=1:etapas
        
            if k~=l                  
%                             Het(configuracion(k))=Het(configuracion(k))*indicedefidelidad;
%                             Het(configuracion(l))=Het(configuracion(l))/indicedefidelidad;
                            MAGS(configuracion(k),:)=MAGS(configuracion(k),:)*indicedefidelidad;
                            MAGS(configuracion(l),:)=MAGS(configuracion(l),:)/indicedefidelidad;
                            ganancias(k)=ganancias(k)*indicedefidelidad;
                            ganancias(l)=ganancias(l)/indicedefidelidad;

                        while rangosinH(MAGS,etapas,w,configuracion)<=daux
                            daux=rangosinH(MAGS,etapas,w,configuracion);
%                             Het(configuracion(k))=Het(configuracion(k))*indicedefidelidad;
%                             Het(configuracion(l))=Het(configuracion(l))/indicedefidelidad;

                            MAGS(configuracion(k),:)=MAGS(configuracion(k),:)*indicedefidelidad;
                            MAGS(configuracion(l),:)=MAGS(configuracion(l),:)/indicedefidelidad;
                            ganancias(k)=ganancias(k)*indicedefidelidad;
                            ganancias(l)=ganancias(l)/indicedefidelidad;
                            
                        end
%                             Het(configuracion(k))=Het(configuracion(k))/indicedefidelidad;
%                             Het(configuracion(l))=Het(configuracion(l))*indicedefidelidad;

                            MAGS(configuracion(k),:)=MAGS(configuracion(k),:)/indicedefidelidad;
                            MAGS(configuracion(l),:)=MAGS(configuracion(l),:)*indicedefidelidad;
                            ganancias(k)=ganancias(k)/indicedefidelidad;
                            ganancias(l)=ganancias(l)*indicedefidelidad;

                          %  a=0;
                        while rangosinH(MAGS,etapas,w,configuracion)<=daux;
                            daux=rangosinH(MAGS,etapas,w,configuracion);
%                             Het(configuracion(k))=Het(configuracion(k))/indicedefidelidad;
%                             Het(configuracion(l))=Het(configuracion(l))*indicedefidelidad;

                            MAGS(configuracion(k),:)=MAGS(configuracion(k),:)/indicedefidelidad;
                            MAGS(configuracion(l),:)=MAGS(configuracion(l),:)*indicedefidelidad;
                            ganancias(k)=ganancias(k)/indicedefidelidad;
                            ganancias(l)=ganancias(l)*indicedefidelidad;
                            %a=1;
                        end
      %{                  
                        if a
%                             Het(configuracion(k))=Het(configuracion(k))*indicedefidelidad;
%                             Het(configuracion(l))=Het(configuracion(l))/indicedefidelidad;

                            MAGS(configuracion(k),:)=MAGS(configuracion(k),:)*indicedefidelidad;
                            MAGS(configuracion(l),:)=MAGS(configuracion(l),:)/indicedefidelidad;
                            ganancias(k)=ganancias(k)*indicedefidelidad;
                            ganancias(l)=ganancias(l)/indicedefidelidad;
                        end
       %}
                        
            end
            

            
        end
    
    end

   
    
    for k=1:length(ganancias)
        Het(configuracion(k))=Het(configuracion(k))*ganancias(k);
    end
    daux=rango(Het,etapas,w,configuracion);
    maximo=maximofun(Het,etapas,w,configuracion);
    minimo=minimofun(Het,etapas,w,configuracion);
    

    
 
            
           
    
end
